package com.ssy.lingxi.purchase.api.dto.request.purchase;

import com.ssy.lingxi.purchase.api.dto.request.EnclosureUrlsRequest;
import com.ssy.lingxi.purchase.api.dto.response.CountryAreaResponse;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
*修改采购询价单请求实体
*/
@Data
public class PurchaseInquiryUpdateRequest {

    @NotNull(message = "主键ID不能为空")
    private Long id;


    /**
     *需求摘要
     */
    @NotEmpty(message = "需求摘要不能为空")
    private String details;


    /**
     *交付日期
     */
    @NotNull(message = "交付日期不能为空")
    private Long deliveryTime;


    /**
     *报价截止时间
     */
    @NotNull(message = "报价截止时间不能为空")
    private Long offerEndTime;



    /**
     *交付地址
     */
    @NotEmpty(message = "交付地址不能为空")
    private String address;


    /**
     *交付地址Id
     */
    @NotNull(message = "交付地址Id不能为空")
    private Long addressId;

    /**
     *报价要求
     */
    private String offer;


    /**
     *付款方式
     */
    private String paymentType;




    /**
     * 税费要求
     */
    private String taxes;



    /**
     *物流要求
     */
    private String logistics;


    /**
     *包装要求
     */
    private String packRequire;



    /**
     *其他要求
     */
    private String otherRequire;

    /**
     *需求对接类型：1.发布至平台门户 2.系统匹配 3.指定供应会员
     */
    @NotNull(message = "需求对接类型不能为空")
    private Integer type;

    /**
     *采购类型:1.单词采购 2.协议采购
     */
    @NotNull(message = "采购类型不能为空")
    private Integer purchaseType;


    /**
     *比价方式:1.密封比价 2.非密封比价
     */
    @NotNull(message = "比价方式不能为空")
    private Integer priceContrast;


    /**
     *添加采购物料方式：1.选择货品生成 2.导入货品生成 3.通过平台属性生成
     */
    @NotNull(message = "添加采购物料方式不能为空")
    private  Integer materielMode;

    /**
     * 适用地市
     */
    private List<CountryAreaResponse> areas;


    /**
     * 需求对接会员列表
     */
    private List<DemandMemberRequest> demandMembers;


    /**
     * 采购询价单物料信息列表
     */
    @Valid
    @NotNull(message = "物料信息列表不能为空")
    private List<PurchaseInquiryProductRequest> materiels;


    /**
     * 发布需求 绑定的商城Id
     */
    private List<Long> shopIds;



    /**
     * 交易条件附件
     */
    private List<EnclosureUrlsRequest> transactionUurls;

}
